﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Media;

namespace ProcessingLite
{
    public interface IProcessingLiteDrawingService
    {
        /// <summary>
        /// HACK: Make the project executer a window so that it can show itself.
        /// </summary>
        ProcessingLiteMainWindow Window { get; }

        /// <summary>
        /// Draws a pixel at column x and row y
        /// </summary>
        /// <param name="x">Column number</param>
        /// <param name="y">Row number</param>
        /// <param name="color">Color of the pixel</param>
        void FillPixel(int x, int y, Color color);

        /// <summary>
        /// Draws a rectangle
        /// </summary>
        /// <param name="x">The x coordinate of the top left corner of the rectangle</param>
        /// <param name="y">The y coordinate of the top left corner of the rectangle</param>
        /// <param name="height">The height in pixels of the rectangle</param>
        /// <param name="width">The width in pixels of the rectangle</param>
        /// <param name="color">The fill color</param>
        void FillRectangle(int x, int y, int height, int width, Color color);
    }
}
